<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/4/10 0010
 * Time: 上午 9:37
 */

namespace Admin\Controller;


use Think\Controller;

class BrandController extends Controller {

    //创建模型对象
    private $_model = null;

    /**
     *
     * 初始化,遍历给每个页面
     */
    protected function _initialize() {

        //构建数据
        $meta_titles = array(
            'index' => '品牌管理',
            'add' => '品牌添加',
            'edit' => '品牌修改',
            'delete' => '品牌删除',
        );
        $meta_title = $meta_titles[ACTION_NAME];
        //发送数据
        $this->assign('meta_title', $meta_title);
        //创建模型对象
        $this->_model = D('Brand');
    }

    public function index() {
        //构建sql条件发送到model
        $cond = array();
        //接受查询的值
        $key = I('get.keyword');
        if($key){
            $cond['name'] = array('like', '%' . $key . '%');
        };
        $p = I('get.p') ? I('get.p') : 1;
        //发送到模型
        $rows = $this->_model->getPageResult($cond, $p);
        //发送数据
        $this->assign($rows);
        //渲染视图
        $this->display();
    }

    public function add() {
        if(IS_POST){
            //收集数据,判断数据是否正确
            $data = $this->_model->create();
            if($data === false){
                $this->error(get_error($this->_model->getError()));
            }
            //使用添加方法,判断返回值
            if($this->_model->add($data) === false){
                $this->error(get_error($this->_model->getError()));
            } else {
                //成功跳转
                $this->success('添加成功', U('index'));
            };
        } else {
            $this->display();
        }
    }

    public function edit($id) {
        if(IS_POST){
            //获取数据
            $data = $this->_model->create();
            //执行更新
            if($this->_model->save($data) === false){
                $this->error(get_error($this->_model->getError()));
            } else {
                $this->success('修改成功', U('index'));
            }
        } else {
            //获取数据
            $rows = $this->_model->find($id);
            //发送数据
            $this->assign('row', $rows);
            $this->display();
        }
    }

    /**
     * 品牌的逻辑删除
     * @param $id
     */
    public function del($id) {
        //发送到模型执行del方法
        $res = $this->_model->getDel($id);
        //判断是否逻辑删除成功
        if($res){
            $this->success('删除成功');
        } else {
            $this->error(get_error($this->_model->getError()));
        }
    }
}